package com.yxinsur.imc.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;

/**
 * 手续费清单对象 imc_recn_supplier_details
 *
 * @author imc
 * @date 2021-05-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RenewalRecnDetailsCheckVo {
    private static final long serialVersionUID = 1L;

    private Long recnId;

    private Long orderRiskId;

    private Long contractExpenseId;

    private Long recnDetailsId;

    private Long recnSupplierDetailsId;

    /**
     * dynamicFieldMap:{协议费用科目ID:对应的手续费值}
     */
    @Excel(name = "动态列：协议费用科目")
    private Map<String, Object> dynamicFieldMap;

    @Excel(name = "核对结果", dictType = "recn_check_result", readConverterExp = "LS=短账,SL=长账,L_SUCCESS=平账")
    private String recnCheckResult;

    @Excel(name = "处理结果", dictType = "recn_handling_result", readConverterExp = "A=以供应商为准,B=以系统为准,C=忽略不处理")
    private String recnHandlingResult;

    @Excel(name = "系统保单号")
    private String policyCodeL;

    @Excel(name = "供应商保单号")
    private String policyCodeS;

    @Excel(name = "系统险种代码")
    private String insCodeL;

    @Excel(name = "供应商险种代码")
    private String insCodeS;

    @Excel(name = "系统险种名称")
    private String riskNameL;

    @Excel(name = "供应商险种名称")
    private String riskNameS;

    @Excel(name = "系统缴费期限")
    private String chargePeriodValueL;

    @Excel(name = "供应商缴费期限")
    private String chargePeriodValueS;

    @Excel(name = "系统保单年度")
    private Long policyYearL;

    @Excel(name = "供应商保单年度")
    private Long policyYearS;

    @Excel(name = "系统缴费期数")
    private Long payNumL;

    @Excel(name = "供应商缴费期数")
    private Long payNumS;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "投保日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "承保日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date insureDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统应缴日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payableDate;

    @Excel(name = "应缴保费（元）")
    private BigDecimal payablePrem;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "系统实缴日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDateL;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "供应商实缴日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDateS;

    @Excel(name = "系统实缴保费（元）")
    private BigDecimal paymentPremL;

    @Excel(name = "供应商实缴保费（元）")
    private BigDecimal paymentPremS;

    //注释续期系统手续费
//    @Excel(name = "费用科目手续费（元）")
    private BigDecimal feeL;
}
